/*
 * NQueen.h
 *
 *  Copyright   : Copyright © 2011 Binda&Aeolus; All Rights Reserved
 *  Created on: 2011-5-14
 *  Author      :洪春晓
 */

#ifndef NQUEEN_H_
#define NQUEEN_H_

#include "RandomNumber.cpp"

class NQueen {
	friend void nQueen(int);
private:
	int n;
	int *x;
	int *y;
	int searchNum;//搜索的结点数
private:
	bool place(int k);//测试放置皇后k于列的合法性
	bool backtrack(int t);//解n后问题的回溯法
	bool NQueenLV(int stopVegas);//随机放置n个皇后的拉斯维加斯算法
public:
	NQueen();
	bool dplv(int n, int stopVegas);//开始用回溯+LV的算法求解
	virtual ~NQueen();
};

#endif /* NQUEEN_H_ */
